package org.example.r;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 用于检查输入的手机号是否是电信用户
 */
public class OperatorInspection {

    /**
     * 中国电信号码格式验证 手机段： 133,153,180,181,189,177,1700,199
     */
    private static final String CHINA_TELECOM_PATTERN = "(^((13[3])|(15([3]))|(17[3,7])|(18[0|1|9])|(19[1|9]))\\d{8}$)";

    /**
     * 验证【电信】手机号码的格式
     *
     * @param str 校验手机字符串
     * @return 返回true, 否则为false
     */
    public static boolean isChinaTelecomPhoneNum(String str) {
        return str == null || str.trim().equals("") ? false : match(CHINA_TELECOM_PATTERN, str);
    }

    /**
     * 执行正则表达式
     *
     * @param pat 表达式
     * @param str 待验证字符串
     * @return 返回true, 否则为false
     */
    private static boolean match(String pat, String str) {
        Pattern pattern = Pattern.compile(pat);
        Matcher match = pattern.matcher(str);
        return match.find();
    }

    public static void main(String[] args) {
        boolean Flag = isChinaTelecomPhoneNum("15305518771");
        System.err.println(Flag);
    }
}

